package com.changgou.business.listener;

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;

import java.util.Map;

/**
 * 监听rabbitmq队列中发送来的广告数据
 */

@Component
public class AdUpdataListener {

    @Autowired
    private RestTemplate restTemplate;

    /**
     *
     * @param position  监听到的 队列中的消息 , (广告位置)
     */
    //监听到 改变后 ,调用一个URL 刷新redis中的 过期广告数据
    @RabbitListener(queues = "ad_update_quequ")  //设置监听的队列
   public void AdUpdata(String position){


       System.out.println("广告更新 -> 监听到的队列消息(要更新的广告位置)  : " + position);
        String url = "http://192.168.200.128/ad_update?position="+position;  //访问该URL 可以告诉Redis 他的数据过期了,需要重新和数据库拿;
//        https://192.168.200.128/ad_update?position=web_index_lb
//        http://192.168.200.128/ad_update?position=web_index_lb

        restTemplate.getForObject(url, Map.class);//使用 restTemplate -> http请求到nginx, 让nginx调用lua脚本进行大广告redis中的数据更新

   }




}
